#ifndef IOMICRO_H
#define IOMICRO_H

#define USOCKETADDRESS "/tmp/microZ"

#include <cstdio>          // printf
#include <fcntl.h>         // open
#include <unistd.h>        // close
#include <cstring>         // strcpy
#include <termios.h>
#include <sys/socket.h>    // socket
#include <sys/un.h>        // struct sockaddr_un

void  printHex(const char *s, int n);
void  printAscii(const char *s, int n);
int   initSerialPort(int mode);
void  closeSerialport(int fd);
void  setNumberOfChars(int fd, int min);
int   copyString(char *s1, const char *s2, int i, int *XOR);

int   copyHeader(char *s);
int   deviceSitch(int fd, const char *CC);

void  setOptions(int fd);
int   readMicroSocket(char *s);

int   openGate(int fd, char c);

int   runCommand(int fd, const char *CC, char *twobytes);

#endif // IOMICRO_H
